Variable step devices use programmable switches to step values at a certain resolution over a certain range. Such devices include step attenuators, variable resistors, switched capacitors and switched inductors. An example of a step attenuator (e.g. digital step attenuator or DSA) is a radio frequency (RF) signal attenuator. These switching devices are usually designed with binary or thermometer coded switches to step a certain resolution value over a certain range of values. One or more switches are used to switch cells in and out of operation. Each switch is typically a transistor, e.g., a metal oxide field effect transistor (MOSFET). FIG. 1A illustrates a typical configuration of a cell in a step device. A cell mi comprises a switch si that switches a component or circuit ci in and out of operation between nodes x and y. One or more cells mi may be used in binary and thermometer coded step devices.
However, there are problems with both binary and thermometer coded step devices. While binary coding permits simple, compact design and control of switches, it often has an undesirable consequence of signal glitches during switching due to unequal turn ON and turn OFF times. A glitch is defined as an indeterminate system level that occurs during a switch event involving a plurality of cells m, where a cell is a physical rather than a mere logical division in a variable step device. Glitch headroom is defined as the difference between a minimum system level (e.g. zero) and a desired system level. Glitches can occur in any step device. Such glitches not only degrade system performance, but may also be instantaneously or cumulatively destructive to step devices or other components. Glitches may impact device reliability, depending on the voltage and power handling ratings of system components.
Consider basic operation of a MOSFET as a switch. When biased with positive gate voltage VGS (where VDS=0V), a low-resistance channel forms between drain and source nodes of the MOSFET and, as a result, the switch is ON or CLOSED. Conversely, when biased with negative gate voltage VGS (where VDS=0V), no channel is present between the drain and source nodes and, as a result, the switch is OFF or OPEN.
Several problems may develop with step devices driven by MOSFET switches. First, MOSFET switches may behave nonlinearly. When an AC signal is applied to the drain node with source grounded, or vice versa, of an ON device, channel resistance is generally low enough that voltage drop across the drain and source nodes is negligible. However, when an AC signal is applied to the drain node with source grounded, or vice versa, of an OFF device, channel resistance is generally high enough that the entire signal voltage drops across the drain and source nodes. When the voltage across an OFF device exceeds the device breakdown voltage, the device becomes highly nonlinear.
Consider FIG. 1B, which illustrates a typical bridged tee attenuator configuration implementing a cell mi in a step attenuator device. Attenuator cell mi comprises bypass transistor N0, attenuation transistor N1, bridge resistor Rbridge, first tee resistors R1, second tee resistor R2, gate control resistors Rgate and drain-source resistor Rds. Attenuation transistor N1 has a drain-source resistance Rds. N-type bypass transistor N0 is controlled by bypass control signal CTLb through a gate resistor Rgate. N-type attenuation transistor N1 is controlled by attenuation control signal CTL through a gate resistor Rgate. RF input provided to input node RF1 is coupled to the source node of bypass transistor N0 and first nodes of bridge resistor Rbridge and a first tee resistor R1. RF output at output node RF2 is coupled to the drain node of bypass transistor N0 and second nodes of bridge resistor Rbridge and a first tee resistor R1.
Basically, attenuation is OFF when control signals CTL and CTLb turn bypass transistor N0 ON and attenuation transistor N1 OFF while attenuation is ON when control signals CTL and CTLb turn bypass transistor N0 OFF and attenuation transistor N1 ON. Assuming bypass transistor N0 is lossless and assuming the resistance of attenuation resistance in the OFF state is much greater than the resistance of second tee resistor R2, when bypass transistor N0 is ON and attenuation transistor N1 is OFF, no current flows through second tee resistor R2 or attenuation transistor N1. As a result, all voltage in an RF signal applied to input node RF1 is dropped across attenuation transistor N1, whose source node is coupled to ground. An RF signal voltage greater than a breakdown voltage may cause bridged tee attenuator 100 to behave nonlinearly.
Second, as shown in FIG. 1, when designed to operate at relatively high frequencies, a MOSFET utilizes a gate control resistor, Rgate to preserve switch performance. The RC time constant formed by the gate resistor Rgate and a gate capacitance is designed to be much longer than the period of the high frequency signal in order to preserve signal integrity. However, the RC time constant slews the switch response when bias, in the form of a step function, is applied to the gate node. Since the gate capacitance is bias dependent, switches may exhibit unequal turn ON and turn OFF times. A turn OFF time may be longer than a turn ON time. When multiple binary coded cells are turning ON and OFF, a glitch may occur. The longer the range and the larger the step values in a binary coded step device, the larger the glitch problem becomes.
Binary-coded step devices consist of a sequence of binary increment value cells selectively turned on and off directly with a binary code to obtain a desired value. For example, FIG. 2A illustrates a typical binary coded step attenuator device. As shown in FIG. 2A, for a binary-coded variable step device with a range of 31.75 and a resolution of 0.25 directly controlled by a 7-bit binary code, the binary incremented values of each of seven cells M1-M7 have binary increment values 0.25, 0.5, 1, 2, 4, 8 and 16. The cells may have magnitude or relative magnitude units, such as decibels (dB). The resolution of this example would be 0.25 and the range would be 0 to 31.75, which is achieved in 127 steps between 128 states. The problem is that the greater the magnitude of cells being switched the greater the glitch headroom and the greater the magnitude of the glitch.
For example, the value of 15.75 is achieved with cells M1-M6 ON and cell M7 OFF while the value of 16 is achieved with cells M1-M6 OFF and cell M7 ON. As shown in FIG. 2B, stepping from 15.75 to 16 or vice versa will result in an undesirable glitch that impacts system linearity and reliability. Of course there are other switch events that may give rise to large glitches, e.g., 3.75 to 4, 7.75 to 8, 11.75 to 12, 19.75 to 20, 23.75 to 24, 27.75 to 28 and vice versa. While glitches may occur in other transitions, smaller glitches, such as from 0.25 to 0.5 or 0.75 to 1, have less glitch headroom and, therefore, are of less concern.
FIG. 2B illustrates a step response and glitch problem in a typical binary coded step attenuator device as shown in FIG. 2A before and after a trigger event. The x-axis represents time while the y-axis represents cell units in decibels. In this example, the trigger event is switching from 15.75 dB attenuation to 16 dB attenuation by switching cells M1-M6 from ON to OFF and cell M7 from OFF to ON. Before the trigger event, the output of the 7-bit binary coded attenuator is 15.75 dB, during the switch event there is a glitch and after the switch event the output of the 7-bit binary coded attenuator is 16 dB. The glitch headroom is 16 dB. Considering that the attenuation level should move from 15.75 dB to 16 dB, the switching event results in a positive glitch above 15.75 dB as switches M1-M6 turn OFF and a negative glitch below 16 dB as switch M7 turns ON before switches M1-M6 are completely OFF. In this example, the positive glitch is shown as 8 dB from 16 dB to 8 dB, although it could be larger or smaller in particular implementations. The negative glitch is shown as approximately 3 dB from 16 dB to approximately 19 dB, although it could be larger or smaller in particular implementations. Worst case, depending on switch control and switch components, a glitch could be 16 dB in one direction (positive or negative), which is equivalent to a change in signal magnitude (e.g. of signal voltage) by a multiple of 6.3 and a change in signal power by a multiple of approximately 40.
Glitches not only degrade system performance, but may also be instantaneously or cumulatively destructive to step devices or other components. As one example, consider the glitch shown in FIG. 2B in units of capacitance rather than attenuation in decibels. Since a capacitor's impedance is inversely proportional to capacitance, a glitch from 16 to 8 would cause a momentary doubling of impedance, which could result in a momentary doubling of signal magnitude that would negatively impact linearity and could negatively impact component reliability. As a second example, assume a 7-bit binary-coded step attenuator precedes an amplifier with a 1 dB-compression point of +11 dBm. Further, assume signal power into the attenuator is +25.75 dB and assume the attenuator is set to attenuate by 15.75 dB so that power out of the attenuator into the amplifier is +10 dBm. If this attenuator switches binary coded cells from 15.75 dB to 16 dB to adjust the amplifier's input power to +9.75 dBm, a glitch during the switch interval causes attenuation to substantially decrease from 15.75 dB before settling to 16 dB. As shown in FIG. 2B, if the positive glitch is 8 dB from 16 dB to 8 dB then signal output power rises to +17.75 dBm before settling to +9.75 dBm. Obviously, +17.75 dBm is substantially above the amplifier's 1 dB compression point of +11 dB. The glitch causes a brief amplifier input power surge exceeding the amplifier's linear region, contributing non-linear behavior to an otherwise linear system and potentially impacting component reliability.
One solution to the glitch problem in binary-coded step devices is thermometer coded step devices. FIG. 3A illustrates a typical thermometer coded step attenuator device. Compared to a binary coded step device with a resolution of 0.25 and a range of 31.75 having seven cells M1-M7 and 7-bit control, a thermometer coded step device with a resolution of 0.25 and a range of 31.75 would have 127 cells M1-M127 and 127 control lines, where the number of bits b is 127. The value of each cell n is the resolution, i.e., 0.25. Control is simple. Each cell is turned on or off by a dedicated control signal. While there could be 127 external control signals provided to 127 pins, a binary control signal provided to seven pins can be decoded internally into thermometer coding of 127 internal control signals.
Thermometer-coding gets its name by equating the incremental rise and fall of mercury in a thermometer as temperature increases or decreases to the incremental rise or fall in the number of cells turning on and remaining on or turning off and remaining off while incrementing or decrementing a thermometer-coded step device. Cell values do not define the difference between thermometer and binary coding. Rather, cell control in turning on and leaving on or vice versa each cell or alternating during a consecutive count defines the difference. FIG. 3B illustrates a step response of a typical thermometer coded step attenuator device, such as the one illustrated in FIG. 3A. As illustrated in FIG. 3B, glitches do not occur because cells are not being turned both ON and OFF during the same trigger event. For example, the value of 15.75 is achieved with cells M1-M63 ON and cells M64-M 127 OFF while the value of 16 is achieved with cells M1-M64 ON and cells M65-M127 OFF. As shown in FIG. 3B, since only one additional cell is turned ON, a switch event from 15.75 to 16 or vice versa will not result in an undesirable glitch.
However, like binary-coded step devices, thermometer-coded step devices suffer design and performance problems. While thermometer-coded step devices eliminate glitches, thermometer-coded step devices require more cells, which consumes more area, causes greater insertion loss and causes more parasitic capacitance due to additional control signal routing. For example, a 128 stage thermometer-coded step attenuator would consume an inordinate, cost-ineffective amount of chip area and could have 18 times, more or less, parasitic capacitance than its seven stage binary-coded counterpart. This amount of parasitic capacitance would be difficult to manage and its loading on the circuit would result in severe degradation in terms of insertion loss and attenuation error. As a result, thermometer coded step devices are generally limited in terms of the number of cells and range. So, while there are no glitches, thermometer-coded step devices suffer substantial design and performance degradation problems. Therefore, both types of coding (i.e., binary and thermometer coding) are unsatisfactory for RF and other applications.
Thus, there is a need for an improvement that minimizes or eliminates glitches in the transient response of switching devices without significant increases or degradation in one or more of area, package dimensions, pin counts, power consumption, insertion loss and parasitic capacitance.